Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forward-merge branch-23.12 to branch-24.02 #1378

Merged
merged 1 commit into from
Nov 15, 2023
Merged

Conversation

GPUtester
Copy link
Contributor

Forward-merge triggered by push to branch-23.12 that creates a PR to keep branch-24.02 up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge.

This changes `device_buffer` to store the active CUDA device ID on creation, and (possibly temporarily) set the active device to that ID before allocating or freeing memory. It also adds tests for containers built on `device_buffer` (`device_buffer`, `device_uvector` and `device_scalar`) that ensure correct operation when the device is changed before doing things that alloc/dealloc memory for those containers. 

This fixes #1342 . HOWEVER, there is an important question yet to answer:

`rmm::device_vector` is just an alias for `thrust::device_vector`, which does not use `rmm::device_buffer` for storage. However users may be surprised after this PR because the multidevice semantics of RMM containers will be different from `thrust::device_vector` (and therefore `rmm::device_vector`).

Update: opinion is that it's probably OK to diverge from `device_vector`, and some think we should remove `rmm::device_vector`.

~While we discuss this I have set the DO NOT MERGE label.~

Authors:
  - Mark Harris (https://github.com/harrism)

Approvers:
  - Lawrence Mitchell (https://github.com/wence-)
  - Jake Hemstad (https://github.com/jrhemstad)

URL: #1370
@GPUtester GPUtester requested review from a team as code owners November 15, 2023 04:39
@GPUtester GPUtester merged commit 9900522 into branch-24.02 Nov 15, 2023
25 checks passed
@github-actions github-actions bot added CMake cpp Pertains to C++ code labels Nov 15, 2023
@GPUtester
Copy link
Contributor Author

SUCCESS - forward-merge complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake cpp Pertains to C++ code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants